package com.ruoyi.system.domain.dao;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.eic.framework.core.annotation.UpdateTime;
import com.eic.framework.core.annotation.UpdateUser;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.io.Serializable;
import java.util.Date;

/**
 * 参数配置对象 sys_config
 * 
 * @author 尹国春
 * @date 2022-07-25
 */
@ApiModel("参数配置对象")
@TableName("sys_config")
public class SysConfig implements Serializable
{
    private static final long serialVersionUID = 1L;

    /** 参数键名 */
    @ApiModelProperty(value = "主键ID")
    @TableId(value = "config_key",type = IdType.INPUT)
    private String configKey;

    /** 参数名称 */
    @Excel(name = "参数名称")
    @ApiModelProperty(value = "参数名称")
    @TableField("config_name")
    private String configName;

    /** 参数键值 */
    @Excel(name = "参数键值")
    @ApiModelProperty(value = "参数键值")
    @TableField("config_value")
    private String configValue;

    /** 更新者 */
    @ApiModelProperty(hidden = true)
    @TableField("update_by")
    @UpdateUser
    private String updateBy;

    /** 更新时间 */
    @ApiModelProperty(hidden = true)
    @TableField("update_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @UpdateTime
    private Date updateTime;

    /** 备注 */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注")
    @TableField("remark")
    private String remark;

    public SysConfig setConfigKey(String configKey)
    {
        this.configKey = configKey;
        return this;
    }
    public String getConfigKey()
    {
        return configKey;
    }
    public SysConfig setConfigName(String configName)
    {
        this.configName = configName;
        return this;
    }
    public String getConfigName()
    {
        return configName;
    }
    public SysConfig setConfigValue(String configValue)
    {
        this.configValue = configValue;
        return this;
    }
    public String getConfigValue()
    {
        return configValue;
    }
    public SysConfig setUpdateBy(String updateBy)
    {
        this.updateBy = updateBy;
        return this;
    }
    public String getUpdateBy()
    {
        return updateBy;
    }
    public SysConfig setUpdateTime(Date updateTime)
    {
        this.updateTime = updateTime;
        return this;
    }
    public Date getUpdateTime()
    {
        return updateTime;
    }
    public SysConfig setRemark(String remark)
    {
        this.remark = remark;
        return this;
    }
    public String getRemark()
    {
        return remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.SHORT_PREFIX_STYLE)
            .append("configKey", getConfigKey())
            .append("configName", getConfigName())
            .append("configValue", getConfigValue())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
